/**
 * Created by lenovo on 17-6-6.
 */

var mongodb = require('./db');

function save_user(value){
    this.user = value.user;
    this.password = value.password;
    this.email = value.email;
    this.img = value.img;
    this.date = value.date;
}

module.exports = save_user;

save_user.prototype.save = function(callback){
    var user_info = {
        user: this.user,
        password: this.password,
        email: this.email,
        img: this.img,
        date: this.date
    };
    console.log(user_info);
    mongodb.close();
    mongodb.open(function(err,db){
        if(err){
            console.log(err);
            return callback(err);
        }
        db.collection('user_infos',function(err,collection){
            if(err){
                db.close();
                return callback(err);
            }
            collection.insert(user_info,{
                safe:true//插入的有序(true)和无序(false)
            }, function(err,user){
                db.close();
                if(err){
                    return callback(err);
                }
                callback(null,user);
            });
        });
    });
};

save_user.replace = function(user,password,callback){
    mongodb.close();
    mongodb.open(function(err,db){
        if(err){
            return callback(err);
        }
        db.collection('user_infos',function(err,collection){
            if(err){
                db.close();
                return callback(err);
            }
            collection.update({user:user},{$set:{password:password}},function(err,user) {
                db.close();
                if (err) {
                    return callback(err);
                }
                callback(null, user)
            });
        });
    });
};

save_user.get = function(data,callback){
    //打开数据库
    mongodb.close();
    mongodb.open(function (err, db) {
        if (err) {
            return callback(err);//错误，返回 err 信息
        }
        //读取 users 集合
        db.collection('user_infos', function (err, collection) {
            if (err) {
                db.close();
                return callback(err);//错误，返回 err 信息
            }

            collection.find(data).toArray(function (err, docs) {
                db.close();
                if (err) {
                    return callback(err);//失败！返回 err
                }
                callback(null, docs);//成功！以数组形式返回查询的结果
            });
        });
    });
};

save_user.delete = function(user,callback){
    mongodb.close();
    mongodb.open(function (err, db) {
        if (err) {
            return callback(err);//错误，返回 err 信息
        }
        //读取 users 集合
        db.collection('user_infos', function (err, collection) {
            console.log('---------users-------------------')
            if (err) {
                db.close();
                return callback(err);//错误，返回 err 信息
            }
            collection.remove({user:user},function(err,user){
                console.log('---------shanc------------------')
                db.close();
                if (err) {
                    return callback(err);
                }
                callback(null, user)
                console.log('-------shuju-------------------')
            });

        });
    });
};